Wireless feedback system and method

ABSTRACT

A codebook C is provided in a MIMO transmitter as well as a MIMO receiver. The codebook C will include M codewords c i , where i is a unique codeword index for each codeword c i . Each codeword defines weighting factors to apply to the MIMO signals, and may correspond to channel matrices or vectors to apply to the MIMO signals prior to transmission from the respective antennas of the MIMO transmitter. The present invention creates codeword subsets S 1  for each codeword c 1  of the codebook C. Each codeword subset S 1  defines L codewords c j , which are selected from all the codewords c i  in the codebook C. The codewords c j  in a codeword subset S 1  are the L codewords in the entire codebook that best correlate with the corresponding codeword c i .

PRIORITY CLAIM

This application is a continuation of and claims the benefit of priorityfrom U.S. patent application Ser. No. 14/551,053, entitled “WirelessFeedback System and Method” and filed on Nov. 23, 2014, which is acontinuation of and claims the benefit of priority from U.S. patentapplication Ser. No. 14/072,779, of the same title and filed on Nov. 5,2013 (issuing as U.S. Pat. No. 8,897,384 on Nov. 25, 2014), which is acontinuation of and claims the benefit of priority from U.S. patentapplication Ser. No. 13/464,640, of the same title and filed on May 4,2012 (now U.S. Pat. No. 8,605,812, issued on Dec. 10, 2013), which is acontinuation of and claims the benefit of priority from U.S. patentapplication Ser. No. 12/066,322, of the same title and filed on Nov. 5,2008 (now U.S. Pat. No. 8,189,714, issued on May 29, 2012), which is a35 U.S.C. §371 National Application of and claims the benefit ofpriority from International Patent Application Serial No.PCT/IB2006/001157, of the same title and filed on May 4, 2006, whichclaims the benefit of priority from U.S. Provisional Patent ApplicationSer. No. 60/677,493, of the same title and filed on May 4, 2005, all ofwhich are fully incorporated herein by reference for all purposes and tothe extent not inconsistent with this application.

FIELD OF THE INVENTION

The present invention relates to communications, and in particular toproviding feedback information in a multiple-input multiple-outputcommunication environment.

BACKGROUND OF THE INVENTION

Providing feedback in a multiple-input multiple-output (MIMO)communication environment has proven to significantly benefitperformance. In early systems that employed feedback, weighting factorswere created at the MIMO receiver based on channel conditions. Acodeword was fed back from the MIMO receiver to the transmitter, whichwould apply the weighting factors to the respective signals to betransmitted from the different MIMO transmitter antennas. The weightingfactors effectively pre-distorted the signals to be transmitted toreverse the effects of the communication channel. Accordingly, thesignals received at the MIMO receiver's antennas approximated those thatwould have been received without weighting through a clear channel.Unfortunately, channel conditions frequently if not continuously change,and the weighting factors to represent channel conditions aredata-intensive. In light of the limited bandwidth available forfeedback, providing weighting factors for changing channel conditionsbecame unfeasible.

In an effort to reduce the bandwidth required to provide feedback for aMIMO channel, designers developed codebooks, which are maintained at theMIMO transmitter and MIMO receiver. The codebooks include codewords,which are predefined weighting factors. These predefined weightingfactors are configured to cover the range of possible channel conditionsthrough a fixed number of discrete weighting factors. Each of thecodewords in a codebook is associated with a codeword index. Inoperation, the MIMO receiver will systematically determine the channelconditions and select the most appropriate codeword in light of thechannel conditions. Instead of sending the codeword, which includes theweighting factors, the MIMO receiver will send the codeword index to theMIMO transmitter over an appropriate feedback channel. The MIMOtransmitter will receive the codeword index, obtain the weightingfactors of the corresponding codeword, and apply those weighting factorsto the signals to be transmitted from the different transmit antennas.

The number of codewords in the codebook impacts the bandwidth requiredfor feedback and the performance enhancement associated with usingfeedback. Unfortunately, as the number of codewords increases, thebandwidth required to feed back the codeword index to the MIMOtransmitter from the MIMO receiver increases. Although incorporating theuse of codebooks and providing the codeword index instead of the entirecodeword as feedback has provided performance enhancement over systemsproviding the entire codeword as feedback, there is still a need toincrease the number of available codewords while minimizing thebandwidth required to provide feedback from the MIMO receiver to theMIMO transmitter.

SUMMARY OF THE INVENTION

A codebook C is provided in a MIMO transmitter as well as a MIMOreceiver. The codebook C will include M codewords c_(i), where i is aunique codeword index for each codeword c_(i). Each codeword definesweighting factors to apply to MIMO signals, and may correspond tochannel matrices or vectors to apply to the MIMO signals prior totransmission from the respective antennas of the MIMO transmitter. Thepresent invention creates codeword subsets S_(i) for each codeword c_(i)of the codebook C. Each codeword subset S₁ defines L codewords c_(j),which are selected from all the codewords c_(i) in the codebook C. Thecodewords c_(j) in a codeword subset S₁ are the L codewords in theentire codebook that best correlate with the corresponding codeword c₁.

In operation, the MIMO receiver will initially identify the channelconditions of the MIMO channel and search the entire codebook C for themost appropriate codeword c_(i) based on the channel conditions of theMIMO channel. The MIMO receiver will then transmit the codeword index icorresponding to the selected codeword c_(i) back to the MIMOtransmitter as feedback. The MIMO transmitter will use the codewordindex i to identify the codeword c_(i) to employ when weighting the MIMOsignals to be transmitted to the MIMO receiver. For a subsequent periodof time or a given number of feedback instances, the MIMO receiver willagain identify channel conditions for the MEMO channel. Instead ofsearching the entire codebook C for the best codeword c_(i) in light ofthe channel conditions, the MIMO receiver will limit its search to thecodeword subset S_(i), which corresponds to the codeword c_(i) that wasselected from a search of the entire codebook C.

As such, a limited number of L codewords c_(j) of the codeword subsetS_(i) are searched, instead of the M codewords c₁ of the entire codebookC. From the L codewords c_(j) of the codeword subset S₁, the MIMOreceiver will select the most appropriate codeword c_(j) and thenprovide the subset index k corresponding to the selected codeword c_(j)back to the MIMO transmitter as feedback. The MIMO transmitter will usethe subset index k to identify the codeword c_(j) from the codewordsubset S_(i) that corresponds to the codeword c₁, which was provided bythe MIMO receiver in response to the most recent full codebook search.Once the appropriate codeword c_(j) is obtained, the correspondingweighting factors are provided to the MIMO signals being transmitted tothe MIMO receiver from the MIMO transmitter.

Those skilled in the art will appreciate the scope of the presentinvention and realize additional aspects thereof after reading thefollowing detailed description of the preferred embodiments inassociation with the accompanying drawing figures.

BRIEF DESCRIPTION OF THE DRAWING FIGURES

The accompanying drawing figures incorporated in and forming a part ofthis specification illustrate several aspects of the invention, andtogether with the description serve to explain the principles of theinvention.

FIG. 1 is a block representation of a MIMO communication environmentaccording to one embodiment of the present invention.

FIG. 2 illustrates a traditional codebook construction.

FIG. 3 illustrates a codebook constructed according to one embodiment ofthe present invention.

FIG. 4 illustrates a codeword subset according to one embodiment of thepresent invention.

FIG. 5 is a flow diagram illustrating operation of a MIMO receiveraccording to one embodiment of the present invention.

FIG. 6 is a flow diagram illustrating operation of a MIMO transmitteraccording to one embodiment of the present invention.

FIG. 7 is a block representation of a wireless communication systemaccording to one embodiment of the present invention.

FIG. 8 is a block representation of a base station according to oneembodiment of the present invention.

FIG. 9 is a block representation of a user element according to oneembodiment of the present invention.

FIG. 10 is a logical breakdown of a MIMO transmitter architectureaccording to one embodiment of the present invention.

FIG. 11 is a logical breakdown of a MIMO receiver architecture accordingto one embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The embodiments set forth below represent the necessary information toenable those skilled in the art to practice the invention and illustratethe best mode of practicing the invention. Upon reading the followingdescription in light of the accompanying drawing figures, those skilledin the art will understand the concepts of the invention and willrecognize applications of these concepts not particularly addressedherein. It should be understood that these concepts and applicationsfall within the scope of the disclosure and the accompanying claims.

The present invention improves performance of multiple-inputmultiple-output (MIMO) communication systems. As shown in FIG. 1, a MIMOtransmitter 2 has multiple transmit antennas 4 from which MIMO signalsare transmitted over a MIMO communication channel to a MIMO receiver 6.The MIMO signals may be space-time coded (STC) signals, which aredefined to be any spatially diverse signals or spatially multiplexedsignals. As such, the signals transmitted from different transmitantennas 4 may be the same or different signals. The MIMO signals arereceived at the MIMO receiver by multiple receive antennas 8.

In operation, a codebook C, such as that illustrated in FIG. 2, isprovided in the MIMO transmitter 2 as well as the MIMO receiver 6. Thecodebook C will include M codewords c_(i), where i is a unique codewordindex for each codeword c₁. In this example, there are 64 codewords c₁(M=64), and as such, the codeword index i will range from zero to M−1,Each codeword defines weighting factors to apply to the MIMO signals,and may correspond to channel matrices or vectors to apply to the MIMOsignals prior to transmission from the respective antennas 4 of the MIMOtransmitter 2.

As noted above, current systems employing codebooks operate as follows.Initially, the MIMO receiver 6 will obtain channel conditions for theMIMO channel, and identify the codeword c_(i) that would provide thebest compensation of the MIMO signals in light of the channel conditionsof the MIMO channel. The MIMO receiver 6 will search all of thecodewords c_(i) of the codebook C to determine the most appropriatecodeword c_(i). Once the codeword c_(i) is determined, the MIMO receiver6 will provide feedback to the MIMO transmitter 2 to identify thecorresponding codeword index i. The MIMO transmitter 2 will use thereceived codeword index i to identify the corresponding codeword c₁ andapply the weighting factors defined by the codeword c₁ to the MIMOsignals transmitted from the antennas 4. The process will continue,wherein the MIMO receiver 6 will systematically monitor the channelconditions of the MIMO channel and identify the most appropriatecodeword c_(i) by providing a search of all of the codewords c₁ in thecodebook C.

The present invention improves upon the current state of the art bycreating codeword subsets S₁ for each codeword c_(i) of the codebook C,as illustrated in FIG. 3. Each codeword subset S₁ defines L codewordsc_(j), which are selected from all the codewords c_(i) in the codebookC. The codewords c_(j) in a codeword subset S_(i) are the L codewords inthe entire codebook that best correlate with the corresponding codewordc_(i).

As illustrated in FIG. 4, a codeword subset S₇, which corresponds to thecodeword C₇, is defined to include k codewords c_(j), where k=0, 1, 2, .. . , L−1, where L=8. As such, the codeword subset S₇ has eightcodewords c_(j). The codewords c_(j) in the codeword subset S₇ are theeight codewords that best correlate with codeword C₇. In this example,the codeword subset S₇ associated with codeword C₇ is defined to includecodewords c₃, C₁₃, C₁₆, c₂₅, c₃₇, c₄₁, c₄₉, and C₆₀. Notably, eachcodeword c_(i) in the codebook C will have a corresponding codewordsubset S₁, where the codewords c₁ in the codeword subset S₁ will differfrom one codeword subset S₁ to another. Notably, the codeword c_(j) ofthe codeword subset S₁ may or may not include the corresponding codewordc_(i) with which the codeword subset S_(i) is associated.

The codeword subsets S_(i) are created by identifying the L codewordsc_(j) that have the highest correlations with c_(i). Those skilled inthe art will recognize various techniques for determining codewords c₁,c_(j), that have the highest correlations. For example, identifying thecodewords c₁, c_(j) having the highest correlations may be determinedusing the normalized interproduct criterion defined as:

$\left\langle {c_{i},c_{j}} \right\rangle = {\frac{c_{i}^{*}c_{j}}{{c_{i}}*{c_{j}}}.}$

In one embodiment, the subset index k, which is used to identify each ofthe codewords c_(j) of the codeword subset S₁, will require log₂(L)bits, whereas the codebook index i requires log₂(M) bits. Thus, L ispreferably significantly smaller than M. In the examples of FIGS. 2-4,the number of codewords c_(j) (L) is eight times less than the number ofcodewords c₁ in the entire codebook C (M). Again, the codebook C,including the codeword subset extensions, is provided in the MIMOtransmitter 2 as well as in the MIMO receiver 6. The codebook C willremain substantially fixed, and if there is a change to a codebook C inthe MIMO transmitter 2, there must be corresponding changes in the MIMOreceiver 6 to ensure that the codebooks C remain the same.

In operation, the MIMO receiver 6 will initially identify the channelconditions of the MIMO channel and search the entire codebook C for themost appropriate codeword c_(i) based on the channel conditions of theMIMO channel. The MIMO receiver 6 will then transmit the codeword index1 corresponding to the selected codeword c_(i) back to the MIMOtransmitter 2 as feedback. The MIMO transmitter 2 will use the codewordindex i to identify the codeword c_(i) to employ when weighting the MIMOsignals to be transmitted to the MIMO receiver 6. For a subsequentperiod of time or a given number of feedback instances, the MIMOreceiver 6 will again identify channel conditions for the MIMO channel.Instead of searching the entire codebook C for the best codeword c_(i)in light of the channel conditions, the MIMO receiver 6 will limit itssearch to the codeword subset S₁, which corresponds to the codewordc_(i) that was selected from a search of the entire codebook C.

As such, a limited number of L codewords c_(j) of the codeword subsetS_(i) are searched, instead of the M codewords c_(i) of the entirecodebook C. From the L codewords c_(j) of the codeword subset S_(i), theMIMO receiver 6 will select the most appropriate codeword c_(j) and thenprovide the subset index k corresponding to the selected codeword c_(j)back to the MIMO transmitter 2 as feedback. The MIMO transmitter 2 willuse the subset index k to identify the codeword c_(j) from the codewordsubset S_(i) that corresponds to the codeword c₁, which was provided bythe MIMO receiver 6 in response to the most recent full codebook search.Once the appropriate codeword c_(j) is obtained, the correspondingweighting factors are provided to the MIMO signals being transmitted tothe MIMO receiver 6 from the MIMO transmitter 2.

With reference to FIG. 5, a flow diagram illustrating operation of theMIMO receiver 6 is provided. Operation begins (step 100) where the MIMOreceiver 6 selects a codeword c₁ from a full codebook search based onchannel estimates (step 102). The MIMO receiver 6 will transmit thecodeword index i of the selected codeword c₁ to the MIMO transmitter 2(step 104). After a full codebook search, the MIMO receiver 6 may set atime instance counter (N−1) (step 106) and then proceed by selecting acodeword c_(j) from codeword subset S₁ for the codeword c₁ based on newchannel estimates (step 108). The MIMO receiver 6 will transmit thesubset index k of the selected codeword c_(j) to the MIMO transmitter 2(step 110) and adjust the time instance counter accordingly (step 112).Based on the time instance counter, the MIMO receiver 6 will determinewhether or not a full codebook search is required (step 114). If a fullcodebook search is not required, the MIMO receiver 6 will once againselect a codeword c_(j) from the codeword subset S_(i) for the codewordc_(i) based on new channel estimates (step 108). Notably, the newchannel estimates may result in a different codeword c_(j) beingselected from the same codeword subset S₁ for consecutive feedbackinstances. Further, the codeword subset S₁ will not change until a fullcodebook search is provided. As such, until the time instance counter isincremented to N−1 or decremented to zero, the iterative process ofselecting a codeword c_(j) from the codeword subset S₁ and transmittingthe corresponding subset index k back to the MIMO transmitter 2 repeats.

When it is time to provide a full codebook search (step 114), theoverall process will begin anew, wherein a codeword c_(i) is selectedfrom a full codebook search based on new channel estimates (step 102).Codeword index i is transmitted to the MIMO transmitter 2 (step 104),and the time instance counter is set (step 106). At this point, a newcodeword subset S₁ is selected, assuming channel estimates have changedfrom the last full codebook search, and subsequent feedback instanceswill result in searches of only the appropriate codeword subset S₁ untila full codebook search is needed.

With reference to FIG. 6, a flow diagram is provided to illustrateoperation of a MIMO transmitter 2 according to one embodiment of thepresent invention. Operation begins (step 200) where the MIMOtransmitter 2 will receive a codeword index i for the full codebook C(step 202). The MIMO transmitter 2 will identify the codeword c_(i) fromthe full codebook C based on the codeword index i (step 204). The MIMOtransmitter 2 will then apply the codeword c₁ to the MIMO signals to betransmitted to the MIMO receiver 6 (step 206). The MIMO transmitter 2will then set a time instance counter (step 208) and receive a subsetindex k for the codeword subset S_(i) (step 210). The MIMO transmitter 2will be able to identify the codeword subset S_(i) based on the previouscodeword c_(i) as recovered from the codeword index i from the priorfeedback of the MIMO receiver 6. The MIMO transmitter 2 will use thesubset index k to identify the codeword c_(j) from the codeword subsetS_(i) (step 212) and apply the codeword c_(j) to the MIMO signals to betransmitted (step 214). The MIMO transmitter 2 may then adjust the timeinstance counter (step 216) and determine whether or not a full codebookC should be used on the next feedback from the MIMO receiver 6 (step218).

If the codeword subset S_(i) should be used, the next feedback from theMIMO receiver 6 will identify subset index k for a codeword subset S_(i)(step 210). The codeword c_(j) is identified based on the subset index kand applied to the MIMO signals to be transmitted (step 210). Thisprocess will continue until the full codebook C is to be used toidentify a codeword c_(i) based on a codebook index i being fed backfrom the MIMO receiver 6. When it is time to use the full codebook C(step 218), the MIMO receiver 6 will provide a codeword index i (step202), which will be used by the MIMO transmitter 2 to identify acodeword c_(i) from the full codebook C (step 204). Codeword c_(i) willbe applied to the MIMO signals to be transmitted (step 206), and theMIMO transmitter 2 will begin receiving subset indices k from the MIMOreceiver 6 and identify codeword c_(j) of the codeword subset S_(i)based on the subset index k until the full codebook C needs to beaccessed again.

Those skilled in the art will recognize that codewords may have variousconfigurations, but in any case will effectively define weightingfactors in the form of matrices, vectors, and the like to apply to MIMOsignals to be transmitted from the various antennas 4 of the MIMOtransmitter 2. Further, cycling between using the full codebook C and asignificantly smaller codeword subset S_(i) may be based on feedbackinstances, transmission instances, and time periods, as well as theextent to which channel conditions are actually changing. Further, theMIMO transmitter 2 and the MIMO receiver 6 may coordinate with oneanother to selectively invoke the use of the codeword subsets such thatthey may operate according to the prior art for a certain period of timeor under certain conditions at certain times, while at other times theymay operate according to the concepts of the present invention.

Further, for OFDM systems, the codeword subsets may be arranged by timeand frequency. As such, the subset indices may relate to and be selectedfrom codebook codewords having the best correlations in the time orfrequency direction in the OFDM spectrum.

With reference to FIG. 7, a basic MIMO wireless communicationenvironment is illustrated. In general, a base station controller (BSC)10 controls wireless communications within one or more cells 12, whichare served by corresponding base stations (BS) 14. Each base station 14facilitates communications with user elements 16, which are within thecell 12 associated with the corresponding base station 14. For thepresent invention, the base stations 14 and user elements 16 includemultiple antennas to provide spatial diversity for communications.Notably, the base station 14 may be any type of wireless access pointfor cellular, wireless local area network, or like wireless network. Forthe present invention, the base station 14 and the user elements 16 mayact as the MIMO transmitter 2 as well as the MIMO receiver 6. Forclarity and conciseness, the following embodiments employ the MIMOtransmitter 2 in the base station 14 and MIMO receiver 6 in the userelements 16.

With reference to FIG. 8, a base station 14 configured according to oneembodiment of the present invention is illustrated. The base station 14generally includes a control system 20, a baseband processor 22,transmit circuitry 24, receive circuitry 26, multiple antennas 28, and anetwork interface 30. The receive circuitry 26 receives radio frequencysignals through antennas 28 bearing information from one or more remotetransmitters provided by user elements 16. Preferably, a low noiseamplifier and a filter (not shown) cooperate to amplify and removebroadband interference from the signal for processing. Downconversionand digitization circuitry (not shown) will then downconvert thefiltered, received signal to an intermediate or baseband frequencysignal, which is then digitized into one or more digital streams.

The baseband processor 22 processes the digitized received signal toextract the information or data bits conveyed in the received signal.This processing typically comprises demodulation, decoding, and errorcorrection operations. As such, the baseband processor 22 is generallyimplemented in one or more digital signal processors (DSPs). Thereceived information is then sent across a wireless network via thenetwork interface 30 or transmitted to another user element 16 servicedby the base station 14. The network interface 30 will typically interactwith the base station controller 10 and a circuit-switched networkforming a part of a wireless network, which may be coupled to the publicswitched telephone network (PSTN).

On the transmit side, the baseband processor 22 receives digitized data,which may represent voice, data, or control information, from thenetwork interface 30 under the control of the control system 20, andencodes the data for transmission. The encoded data is output to thetransmit circuitry 24, where it is modulated by a carrier signal havinga desired transmit frequency or frequencies. A power amplifier (notshown) will amplify the modulated carrier signal to a level appropriatefor transmission, and deliver the modulated carrier signal to theantennas 28 through a matching network (not shown). The multipleantennas 28 and the replicated transmit and receive circuitries 24, 26provide spatial diversity.

With reference to FIG. 9, a user element 16 configured according to oneembodiment of the present invention is illustrated. Similarly to thebase station 14, the user element 16 will include a control system 32, abaseband processor 34, transmit circuitry 36, receive circuitry 38,multiple antennas 40, and user interface circuitry 42. The receivecircuitry 38 receives radio frequency signals through antennas 40bearing information from one or more base stations 14. Preferably, a lownoise amplifier and a filter (not shown) cooperate to amplify and removebroadband interference from the signal for processing. Downconversionand digitization circuitry (not shown) will then downconvert thefiltered, received signal to an intermediate or baseband frequencysignal, which is then digitized into one or more digital streams.

The baseband processor 34 processes the digitized received signal toextract the information or data bits conveyed in the received signal.This processing typically comprises demodulation, decoding, and errorcorrection operations, as will be discussed in greater detail below. Thebaseband processor 34 is generally implemented in one or more digitalsignal processors (DSPs) and application-specific integrated circuits(ASICs).

For transmission, the baseband processor 34 receives digitized data,which may represent voice, data, or control information, from thecontrol system 32, which it encodes for transmission. The encoded datais output to the transmit circuitry 36, where it is used by a modulatorto modulate a carrier signal that is at a desired transmit frequency orfrequencies. A power amplifier (not shown) will amplify the modulatedcarrier signal to a level appropriate for transmission, and deliver themodulated carrier signal to the antennas 40 through a matching network(not shown). The multiple antennas 40 and the replicated transmit andreceive circuitries 36, 38 provide spatial diversity.

With reference to FIG. 10, a transmission architecture is providedaccording to one embodiment. The transmission architecture is describedas being that of the base station 14, but those skilled in the art willrecognize the applicability of the illustrated architecture for bothuplink and downlink communications. Further, the transmissionarchitecture is intended to represent a variety of multiple accessarchitectures, including, but not limited to code division multipleaccess (CDMA), frequency division multiple access (FDMA), time divisionmultiple access (TDMA), and orthogonal frequency division multiplexing(OFDM).

Initially, the base station controller 10 sends data 44 intended for auser element 16 to the base station 14 for scheduling. The scheduleddata 44, which is a stream of bits, is scrambled in a manner reducingthe peak-to-average power ratio associated with the data using datascrambling logic 46. A cyclic redundancy check (CRC) for the scrambleddata is determined and appended to the scrambled data using CRC addinglogic 48. Next, channel encoding is performed using channel encoderlogic 50 to effectively add redundancy to the data to facilitaterecovery and error correction at the user element 16. The channelencoder logic 50 uses known Turbo encoding techniques in one embodiment.The encoded data is then processed by rate matching logic 52 tocompensate for the data expansion associated with encoding.

Bit interleaver logic 54 systematically reorders the bits in the encodeddata to minimize the loss of consecutive data bits. The resultant databits are systematically mapped into corresponding symbols depending onthe chosen baseband modulation by mapping logic 56. Preferably, a formof Quadrature Amplitude Modulation (QAM) or Quadrature Phase Shift Key(QPSK) modulation is used. The symbols may be systematically reorderedto further bolster the immunity of the transmitted signal to periodicdata loss caused by frequency selective fading using symbol interleaverlogic 58.

At this point, groups of bits have been mapped into symbols representinglocations in an amplitude and phase constellation. Blocks of symbols arethen processed by space-time code (STC) encoder logic 60. The STCencoder logic 60 will process the incoming symbols according to aselected STC encoding mode and provide n outputs corresponding to thenumber of transmit antennas 28 for the base station 14. The codewordfeedback from the user element 16 (MIMO receiver 6) is recovered fromthe corresponding receive circuitry 26 and used to identify the codewordto apply to the symbols. Further detail regarding the SIC encoding isprovided later in the description. Assume the symbols for the n outputsare representative of the weighted data to be transmitted and capable ofbeing recovered by the user element 16. Further detail is provided in A.F. Naguib, N. Seshadri, and A. R. Calderbank, “Applications ofspace-time codes and interference suppression for high capacity and highdata rate wireless systems,” Thirty-Second Asilomar Conference onSignals, Systems & Computers, Volume 2, pp. 1803-1810, 1998; R. van Nee,A. van Zelst and G. A. Atwater, “Maximum Likelihood Decoding in a SpaceDivision Multiplex System”, IEEE VTC. 2000, pp. 6-10, Tokyo, Japan, May2000; and P. W. Wolniansky et al., “V-BLAST: An Architecture forRealizing Very High Data Rates over the Rich-Scattering WirelessChannel,” Proc. IEEE ISSSE-98, Pisa, Italy, Sep. 30, 1998 which areincorporated herein by reference in their entireties.

For illustration, assume the base station 14 has selected two of anumber of antennas 28 (n=2) and the STC encoder logic 60 provides twooutput streams of symbols. Accordingly, each of the symbol streamsoutput by the STC encoder logic 60 is sent to a corresponding multipleaccess modulation function 62, illustrated separately for ease ofunderstanding. Those skilled in the art will recognize that one or moreprocessors may be used to provide such analog or digital signalprocessing alone or in combination with other processing describedherein. For example, the multiple access modulation function 62 in aCDMA function would provide the requisite PN code multiplication,wherein an OFDM function would operate on the respective symbols usinginverse discrete Fourier transform (IDFT) or like processing to effectan Inverse Fourier Transform.

Each of the resultant signals is up-converted in the digital domain toan intermediate frequency and converted to an analog signal via thecorresponding digital up-conversion (DUC) circuitry 64 anddigital-to-analog (D/A) conversion circuitry 66. The resultant analogsignals are then simultaneously modulated at the desired RF frequency,amplified, and transmitted via the RF circuitry 68 and antennas 28.Notably, the transmitted data may be preceded by pilot signals, whichare known by the intended user element 16. The user element 16, which isdiscussed in detail below, may use the pilot signals for channelestimation and interference suppression and the header foridentification of the base station 14.

Reference is now made to FIG. 11 to illustrate reception of thetransmitted signals by a user element 16 and provision of codewordfeedback to the base station 14. Upon arrival of the transmitted signalsat each of the antennas 40 of the user element 16, the respectivesignals are demodulated and amplified by corresponding RF circuitry 74.For the sake of conciseness and clarity, only one of the multiplereceive paths in the user element 16 is described and illustrated indetail. Analog-to-digital (A/D) conversion and downconversion circuitry(DCC) 76 digitizes and downconverts the analog signal for digitalprocessing. The resultant digitized signal may be used by automatic gaincontrol circuitry (AGC) 78 to control the gain of the amplifiers in theRE circuitry 74 based on the received signal level.

The digitized signal is also fed to synchronization circuitry 80 and amultiple access demodulation function 82, which will recover theincoming signal received at a corresponding antenna 40 in each receiverpath. The synchronization circuitry 80 facilitates alignment orcorrelation of the incoming signal with the multiple access demodulationfunction 82 to aid in the recovery of the incoming signal, which isprovided to a signaling processing function 84 and channel estimationfunction 86. The signaling processing function 84 processes basicsignaling and header information to provide information sufficient togenerate a channel quality measurement, which may bear on an overallsignal-to-noise ratio for the link, which takes into account channelconditions and/or signal-to-noise ratios for each receive path. Thechannel estimation function 86 for each receive path provides channelresponses corresponding to channel conditions of the MIMO channel.

The symbols from the incoming signal and perhaps channel estimates foreach receive path are provided to an STC decoder 88, which provides STCdecoding on each receive path to recover the transmitted symbols. Thechannel estimates may provide channel response information to allow theSTC decoder 88 to better decode the symbols according to the STCencoding used by the base station 14.

The recovered symbols are placed back in order using symbolde-interleaver logic 90, which corresponds to the symbol interleaverlogic 58 of the base station 14. The de-interleaved symbols are thendemodulated or de-mapped to a corresponding bitstream using de-mappinglogic 92. The bits are then de-interleaved using bit de-interleaverlogic 94, which corresponds to the bit interleaver logic 54 of thetransmitter architecture. The de-interleaved bits are then processed byrate de-matching logic 96 and presented to channel decoder logic 98 torecover the initially scrambled data and the CRC checksum. Accordingly,CRC logic 100 removes the CRC checksum, checks the scrambled data intraditional fashion, and provides it to the de-scrambling logic 102 forde-scrambling using the known base station de-scrambling code to recoverthe originally transmitted data 104.

For the present invention, the channel conditions of the MIMO channelare provided to feedback processing circuitry 106, which will functionto determine codewords for the codebook C or codeword subset S_(i) andprovide the corresponding indices as codeword feedback to the basestation 14 via the transmit circuitry 36. The feedback processingcircuitry 106 may be considered part of the control system 34, but isseparated for clarity.

Those skilled in the art will recognize improvements and modificationsto the preferred embodiments of the present invention. All suchimprovements and modifications are considered within the scope of theconcepts disclosed herein and the claims that follow.

What is claimed is:
 1. A method of providing feedback from a wirelessreceiver, the method comprising, at the wireless receiver: selecting, ata first time, a first matrix of predefined weighting factors from aplurality of matrices in a codebook; transmitting a first codebook indexidentifying the first matrix of predefined weighting factors;determining a subset of matrices of predefined weighting factorscorresponding to the first codebook index; selecting, at a subsequentsecond time, a second matrix of predefined weighting factors from thesubset of matrices of predefined weighting factors; and transmitting afirst subset index for the second matrix of predefined weightingfactors.
 2. The method of claim 1, further comprising: selecting, at asubsequent third time, a third matrix of predefined weighting factorsfrom the subset of matrices of predefined weighting factors; andtransmitting a second subset index for the third matrix of predefinedweighting factors.
 3. The method of claim 1, further comprising:determining, at a subsequent third time, that a third matrix ofpredefined weighting factors is to be selected from the codebook;selecting the third matrix of predefined weighting factors from theplurality of matrices in the codebook; and transmitting a secondcodebook index identifying the third matrix of predefined weightingfactors.
 4. The method of claim 3, further comprising: determining asecond subset of matrices of predefined weighting factors correspondingto the second codebook index; selecting, at a subsequent fourth time, afourth matrix of predefined weighting factors from the second subset ofmatrices of predefined weighting factors; and transmitting a secondsubset index for the fourth matrix of predefined weighting factors. 5.The method of claim 3, wherein determining, at the subsequent thirdtime, that the third matrix of predefined weighting factors is to beselected from the codebook is determined based on one or more of acounting of feedback instances, transmission instances, time periods,and the extent to which channel conditions are changing.
 6. The methodof claim 1, wherein the subset of matrices of predefined weightingfactors does not comprise the first matrix of predefined weightingfactors.
 7. The method of claim 1, wherein the subset of matrices ofpredefined weighting factors comprises the first matrix of predefinedweighting factors.
 8. An apparatus for providing wireless communicationsfeedback, the apparatus comprising: transmit circuitry; a memory storingsoftware instructions; and one or more processors communicativelycoupled to the transmit circuitry and the memory, the one or moreprocessors configured to execute the software instructions, wherein, inexecuting the software instructions, the one or more processors causethe apparatus to: select, at a first time, a first matrix of predefinedweighting factors from a plurality of matrices in a codebook; transmit,via the transmit circuitry, a first codebook index identifying the firstmatrix of predefined weighting factors; determine a subset of matricesof predefined weighting factors corresponding to the first codebookindex; select, at a subsequent second time, a second matrix ofpredefined weighting factors from the subset of matrices of predefinedweighting factors; and transmit, via the transmit circuitry, a firstsubset index for the second matrix of predefined weighting factors. 9.The apparatus of claim 8, wherein, in executing the softwareinstructions, the one or more processors are further configured to causethe apparatus to: select, at a subsequent third time, a third matrix ofpredefined weighting factors from the subset of matrices of predefinedweighting factors; and transmit a second subset index for the thirdmatrix of predefined weighting factors.
 10. The apparatus of claim 8,wherein, in executing the software instructions, the one or moreprocessors are further configured to cause the apparatus to: determine,at a subsequent third time, that a third matrix of predefined weightingfactors is to be selected from the codebook; select the third matrix ofpredefined weighting factors from the plurality of matrices in thecodebook; and transmit, via the transmit circuitry, a second codebookindex identifying the third matrix of predefined weighting factors. 11.The apparatus of claim 10, wherein, in executing the softwareinstructions, the one or more processors are further configured to causethe apparatus to: determine a second subset of matrices of predefinedweighting factors corresponding to the second codebook index; select, ata subsequent fourth time, a fourth matrix of predefined weightingfactors from the second subset of matrices of predefined weightingfactors; and transmit a second subset index for the fourth matrix ofpredefined weighting factors.
 12. The apparatus of claim 10, whereindetermining, at the subsequent third time, that the third matrix ofpredefined weighting factors is to be selected from the codebook isdetermined based on one or more of a counting of feedback instances,transmission instances, time periods, and the extent to which channelconditions are changing.
 13. The apparatus of claim 8, wherein thesubset of matrices of predefined weighting factors does not comprise thefirst matrix of predefined weighting factors.
 14. The apparatus of claim8, wherein the subset of matrices of predefined weighting factorscomprises the first matrix of predefined weighting factors.
 15. A methodof receiving feedback from a wireless receiver, the method comprising,at the wireless transmitter: receiving, at a first time, a firstcodebook index identifying a first matrix of predefined weightingfactors, wherein the first matrix of predefined weighting factors is onematrix of a plurality of matrices in a codebook; determining a subset ofmatrices of predefined weighting factors corresponding to the firstcodebook index; receiving, at a subsequent second time, a first subsetindex, wherein the first subset index identifies a second matrix ofpredefined weighting factors from the determined subset of matrices ofpredefined weighting factors.
 16. The method of claim 15, furthercomprising: receiving, at a subsequent third time, a second subsetindex, wherein the second subset index identifies a third matrix ofpredefined weighting factors from the subset of matrices of predefinedweighting factors.
 17. The method of claim 15, further comprising:receiving, at a subsequent third time, a second codebook indexidentifying a third matrix of predefined weighting factors, wherein thethird matrix of predefined weighting factors is one matrix of theplurality of matrices in the codebook.
 18. The method of claim 17,further comprising: determining a second subset of matrices ofpredefined weighting factors corresponding to the second codebook index;receiving, at a subsequent fourth time, a second subset index, whereinthe second subset index identifies a fourth matrix of predefinedweighting factors from the second subset of matrices of predefinedweighting factors.
 19. The method of claim 17, further comprising:determining, based on one or more of a counting of feedback instances,transmission instances, time periods, and the extent to which channelconditions are changing, that at the subsequent third time the secondcodebook index identifies the third matrix of predefined weightingfactors, wherein the third matrix of predefined weighting factors is oneof the plurality of matrices in the codebook.
 20. The method of claim15, wherein the subset of matrices of predefined weighting factors doesnot comprise the first matrix of predefined weighting factors.